home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / dev / misc / LEDA_gene.lha / LEDA-3.1c-generic / incl / LEDA / impl / rb_tree.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-05  |  1.4 KB  |  66 lines

  1. /*******************************************************************************
  2. +
  3. +  LEDA  3.1c
  4. +
  5. +
  6. +  rb_tree.h
  7. +
  8. +
  9. +  Copyright (c) 1994  by  Max-Planck-Institut fuer Informatik
  10. +  Im Stadtwald, 6600 Saarbruecken, FRG     
  11. +  All rights reserved.
  12. *******************************************************************************/
  13.  
  14.  
  15. #ifndef LEDA_RB_TREE_H
  16. #define LEDA_RB_TREE_H
  17.  
  18. //------------------------------------------------------------------------------
  19. //
  20. // rb_tree:  red black trees (leaf oriented & doubly linked)
  21. //
  22. //           derived from class "bin_tree"
  23. //
  24. // Ijon Tichy (1993)
  25. //
  26. //------------------------------------------------------------------------------
  27.  
  28.  
  29.  
  30. #include <LEDA/basic.h>
  31. #include <LEDA/impl/bin_tree.h>
  32.  
  33.  
  34. typedef bin_tree_node* rb_tree_item;
  35.  
  36.  
  37. // ----------------------------------------------------------------
  38. // class rb_tree
  39. // ----------------------------------------------------------------
  40.  
  41. class rb_tree : public virtual bin_tree
  42.   enum color  { red = 0, black = 1 };
  43.  
  44.   int root_balance() { return black; }
  45.   int node_balance() { return red; }
  46.   int leaf_balance() { return black; }
  47.  
  48.   void insert_rebal(rb_tree_item);
  49.   void del_rebal(rb_tree_item, rb_tree_item);
  50.  
  51. public:
  52.  
  53.   rb_tree() {}
  54.  ~rb_tree() {}
  55.  
  56.   rb_tree(const rb_tree& T) : bin_tree(T) {}
  57.  
  58.   rb_tree& operator=(const rb_tree& T) 
  59.   { bin_tree::operator=(T); return *this; }
  60.  
  61. };
  62.  
  63. #endif
  64.